#include <iostream>

using std::cout;
using std::endl;

//模板的参数类型
//1、类型参数T，T可以写成任意类型
//2、非类型参数，必须是整型,包括：char、short、int、long、size_t
//不能是浮点型：float/double
//C++中函数的参数是可以设计默认值的，同样的模板的参数也是可以
//设计默认值的
template <typename T = int, short kMin = 100>
/* template <typename T , short kMin > */
T multiply(T x, T y)
{
    return x * y * kMin;
}

void test()
{
    int ia = 10, ib = 30;
    double da = 11.11, db = 22.22;
    cout << "multiply(ia, ib) = " << multiply<int, 100>(ia, ib) << endl;
    cout << "multiply(da, db) = " << multiply(da, db) << endl;
}

int main(int argc, char *argv[])
{
    test();
    return 0;
}

